
#region Using Statements

    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Threading;
    using HumanElement.Xna.Construct;
    using Microsoft.Xna.Framework;
#endregion

namespace HumanElement.Xna.Construct
{
    ///<summary>
    /// ILoadable : Defines the needed members for any assets which are loaded at runtime.    
    ///</summary>
    public interface ILoadable : IInitialize
    {
        /// <summary>
        /// Loads the content.
        /// </summary>
        /// <param name="content">The content.</param>
        /// <returns></returns>
        bool LoadContent(IContentManager content);

        /// <summary>
        /// Gets a value indicating whether this instance is loaded.
        /// </summary>
        /// <value><c>true</c> if this instance is loaded; otherwise, <c>false</c>.</value>
        bool IsLoaded { get; }
    }
}